Skip to main content

How-To Guides

Hosted deployments (Tapis Pods)

The frontend is deployed as a Tapis Pod in the ICICLE tenant. If you only want to use Patra, go here — no local setup required:

DeploymentURLBackend
Patra UI (stable)https://patra.pods.icicleai.tapis.iohttps://patrabackend.pods.icicleai.tapis.io
Patra UI (dev)https://patra-dev.pods.icicleai.tapis.iohttps://patrabackend-dev.pods.icicleai.tapis.io

Both pods run the same plalelab/patra-frontend image; they differ only in runtime configuration. Supporting services:

  • MCP server — https://patramcp.pods.icicleai.tapis.io
  • Tapis tenant (login) — https://icicleai.tapis.io

See docs/DEPLOYMENT_TOPOLOGY.md for the per-pod environment, and docs/pod-config.patra-prod.json / docs/pod-config.patra-dev.json for complete pod payloads. The image serves nginx on port 80 — the pod's networking.default.port must match, or the ingress returns 502 Bad Gateway.

Prerequisites

  • Node.js 20+ (Vite 7)
  • The Patra backend running on port 8000

Install

npm --prefix app install

Run

cd app
npm run dev

The app opens at http://localhost:5173.

Configuration

Create app/.env (see app/.env.example):

VITE_LIVE_API_BASE_URL=http://localhost:8000
VITE_MCP_BASE_URL=http://localhost:8050
VITE_EMBEDDED_AUTH_ENABLED=false
VITE_PORTAL_AUTH_ORIGINS=
VITE_PORTAL_AUTH_TIMEOUT_MS=3000

To run the local UI against a hosted backend instead of a local one:

VITE_LIVE_API_BASE_URL=https://patrabackend.pods.icicleai.tapis.io
VITE_MCP_BASE_URL=https://patramcp.pods.icicleai.tapis.io

Note that the stable and dev backends share one database — writes from a local dev server pointed at either pod are writes against production data.

Feature areas (Ask Patra, Agent Toolkit, MCP Explorer, Domain Experiments) are gated by VITE_SUPPORTS_* flags — see app/.env.example.

Configuring embedded login for deployment

Configure deployed containers at runtime:

EMBEDDED_AUTH_ENABLED=true
PORTAL_AUTH_ORIGINS=https://portal.example.org
PORTAL_AUTH_TIMEOUT_MS=3000

A production runtime example for https://icicleai.tapis.io is provided in docs/pod-config.patra-prod.json.